import { post } from '@/utils/http'

// 基础路径（完整路径：http://localhost:6009/sys-client/cms/sysUser）
const baseUrl = 'http://localhost:6009/sys-client/cms/sysUser'

/**
 * 查询用户分页列表
 * @param {Object} params - 查询参数 { pageNo, pageSize, customerName, type, status }
 */
export function queryUserPageList(params) {
  // 将参数转换为后端期望的格式
  const requestParams = {
    pageNo: params.pageNo,
    pageSize: params.pageSize,
    nameKeyword: params.userName, // 将 userName 映射为 nameKeyword
    status: params.status,
    type: params.type
  };
  return post(`${baseUrl}/queryPageList`, requestParams)
}

/**
 * 新增用户
 * @param {Object} user - 用户信息 { customerName, type, phone, address, status }
 */
export function addUser(user) {
  return post(`${baseUrl}/insert`, user)
}

/**
 * 修改用户
 * @param {Object} user - 用户信息（含id）
 */
export function updateUser(user) {
  return post(`${baseUrl}/update`, user)
}

/**
 * 删除用户
 * @param {Number} id - 用户ID
 */
export function deleteUser(id) {
  // 将参数通过查询字符串传递
  return post(`${baseUrl}/delete?id=${id}`)
}

/**
 * 批量删除用户
 * @param {String} ids - 用户ID列表（逗号分隔）
 */
export function deleteBatchUsers(ids) {
  return post(`${baseUrl}/deleteBatch`, { ids })
}

/**
 * 根据ID查询用户详情
 * @param {Number} id - 用户ID
 */
export function getUserById(id) {
  return post(`${baseUrl}/get`, { id })
}

/**
 * 修改用户状态
 * @param {Number} id - 用户ID
 * @param {Number} status - 状态（0:禁用,1:启用）
 */
export function updateUserStatus(id, status) {
  return post(`${baseUrl}/updateStatus`, { id, status })
}

/**
 * 获取用户拥有的角色
 * @param {Number} userId - 用户ID
 */
export function getUserRoles(userId) {
  return post(`${baseUrl}/getUserRoles`, { userId })
}

/**
 * 为用户分配角色
 * @param {Number} userId - 用户ID
 * @param {String} roleIds - 角色ID列表（逗号分隔）
 */
export function assignRoles(userId, roleIds) {
  return post(`${baseUrl}/assignRoles`, { userId, roleIds })
}
